1. Field of Art
The disclosure generally relates to the field of static timing analysis in circuit design and more specifically to reducing timing pessimism for multiple instances of a physical block in a hierarchical circuit design.
2. Description of the Related Art
Integrated circuit designs are simulated to assess their performance and determine whether the design works as expected. For instance a circuit design may be simulated to determine the behavior of the circuit design in response to certain input signals. Circuit designs may also be analyzed to determine whether the different stages of the circuit meet certain timing requirements. For instance, a circuit design is analyzed to determine whether the total propagation delays of all the timing paths or a specific timing path is within the setup time and the hold time of the flip-flop(s) connected at the end of the timing path(s).
Oftentimes, multiple instances of a same cell or circuit block are used (or reused) inside a larger integrated circuit. For instance, multiple copies of the same adder (or micro-processor, or digital-signal-processor, or memory, etc.) blocks may be used inside the design of a processor. Such reused cell block is often referred as multi-instance module or MIM blocks. However if timing analysis is to be performed only once for the cell and used for each instance, the timing analysis often has to be very pessimistic. This is so because the analysis of the cell often does not have the full knowledge of the all the instantiations at higher level and therefore must assume tighter timing constraints (and budgets) than the worst case timing constraints of each individual instance of the cell used in the integrated circuit. As a result, the circuit design is likely to be sub-optimal in terms of important design metrics such as power, performance, and areas. Alternatively, the timing analysis may be performed by enumeration of each instance of the cell to achieve better accuracy. However, the enumeration analysis may be very slow and computation intensive because each instance is analyzed separately for every possible scenarios. Accordingly, conventional techniques either provide efficient analysis but highly conservative results or accurate results but very inefficient analysis.